﻿using BCCommon;
using BCCommon.PaymentEnums;

namespace BCService.Common.Payment.Payment.WeixinPay
{
    /// <summary>
    /// 微信支付组件配置
    /// </summary>
    [NonInjection]
    public interface IWeiXinPayPlugConfig
    {
        /// <summary>
        /// 是否初始化完成
        /// </summary>
        bool initDone { get; set; }

        string APP_ID { get; set; }

        string APP_SECRET { get; set; }
        /// <summary>
        /// 商户号
        /// </summary>
        string MCH_ID { get; set; }
        /// <summary>
        /// 密钥
        /// </summary>
        string KEY { get; set; }
        /// <summary>
        /// 证书路径
        /// </summary>
        string CERT_PATH { get; set; }
        /// <summary>
        /// 证书密码
        /// </summary>
        string CERT_PASSWORD { get; set; }
        /// <summary>
        /// 随机字符串（32位最长）
        /// </summary>
        string NONCE_STR { get; set; }
        /// <summary>
        /// 初始化配置
        /// </summary>
        /// <param name="appType">应用类型</param>
        /// <param name="appId">应用Id</param>
        void InitConfig(SourceAppType? appType, string appId = null);
    }
}